package guoanmaker.provider.business.service;

import java.util.List;
import java.util.Map;

import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;

import guoanmaker.provider.business.model.ProvideCommodity;

public interface ProvideCommodityServiceInterface {
	
	/**
	 *添加商品
	 *@param commodity(商品实体) 
	 * */
	public Integer addProvideCommodity(ProvideCommodity commodity);
	
	/**
	 *通过主键修改商品
	 *@param commodity(商品实体) 
	 * */
	public Integer updateProvideCommodity(ProvideCommodity commodity);
	
	/**
	 * 通过商品状态查询商品列表
	 * @param commodityState 商品状态
	 * @return 
	 * */
	public List<ProvideCommodity> selectByCommdityState(Integer commodityState );
	
	/**
	 * 根据动态查询条件分页查询数据
	 * @param commodity 
	 * @param page 当前页
	 * @param size 每页条数
	 * @param serverIds 服务id集合
	 * @return 商品结果集
	 * */
	public Map<String, Object> selectByCommditys(Integer page, Integer size,Integer commodityState,String businessID,String commodityName,String service_type_id);
	
	/**
	 * 删除商品
	 * @param id(商品表主键)
	 * */
	public void deleteCommdity(String id);
	
	/**
	 * 批量删除商品
	 * @param ids(多个id串)
	 * */
	public void deleteCommditys(String ids);
	
	/**
	 * 通过主键id获取商品信息
	 * @param id(商品表主键)
	 * @return 商品对象
	 * */
	public ProvideCommodity selectById(String id);
	
	/***
	* @Title: updateCommditysStock 
	* @Description: 修改商品库存
	* @param  id
	* @param  stock
	* @param  设定文件 
	* @return boolean    返回类型 
	* @throws 
	 */
	public boolean updateCommditysStock(String id,Integer stock);
	
	/**
	* @Title: updateCommditysState 
	* @Description: 商户修改商品状态
	* @param  ids
	* @param  state
	* @param @return    设定文件 
	* @return boolean    返回类型 
	* @throws 
	 */
	public boolean updateCommditysState(String ids,Integer state);
	
	//测试组合查询
	public Map<String, Object> selectByCommditys(Pageable pageable,ProvideCommodity commodity);
	
	//上架商品
	public Integer updateCommditysShelvesState(String ids, Integer state);
	
}
